package com.exsun.ex1077.network

import com.amap.api.maps.model.LatLng
import com.lzy.okgo.OkGo
import com.lzy.okgo.callback.StringCallback
import com.lzy.okgo.model.Response
import com.zhangping.fastjetpack.extend.toJsonObject

/**
 * 描述：大数据接口
 * 作者：ZhangPing
 * 创建时间：2023/11/13 16:23
 */
object BigDataApi {

    //逆地址编码
    private const val LATLNG_TO_ADDRESS = "https://poi.bdlbs.cn/bigdata/poiData/getMinAdsByPoi?lat=%f&lng=%f&needDistance=false"

    //经纬度转地址
    fun latLngToAddress(lat: Double, lng: Double, callback: (String) -> Unit){
        OkGo.get<String>(LATLNG_TO_ADDRESS.format(lat, lng))
            .execute(object : StringCallback(){
                override fun onSuccess(response: Response<String>) {
                    val resJson = response.body().toJsonObject()
                    if (resJson.getIntValue("code") != 0){
                        callback.invoke("未知地址")
                        return
                    }
                    callback.invoke(resJson.getJSONObject("detail").getString("address"))
                }

                override fun onError(response: Response<String>) {
                    callback.invoke("未知地址")
                }
            })
    }


}